// Object.is方法  判断两个值是否相等
// console.log(1===1);
// console.log(Object.is(1,1));
// console.log(Object.is(1,2));
// console.log(+0===-0);
// console.log(Object.is(+0,-0));
// console.log(NaN===NaN);
// console.log(Object.is(NaN,NaN));
// Object.assign()方法
// 两个参数 复制 拷贝
// let obj={};
// let obj1={
//   name:"zhangsan",
//   age:12
// };
// let result=Object.assign(obj,obj1);//参数:目标对象 要复制的对象 返回值:目标对象
// console.log(obj);
// console.log(obj===result);
// 要求 使用assign实现深拷贝/深复制  实现半深拷贝/即可以实现深拷贝也可以实现浅拷贝
// 单个参数 合并对象
// 三个参数 目标对象 合并的对象1 合并的对象2 返回值:目标对象
// let obj={};
// let obj1={
//   name:"zhangsan"
// };
// let obj2={
//   age:15
// };
// let result=Object.assign(obj,obj1,obj2);
// console.log(obj);
// console.log(result===obj);

// 3.获取原型对象方法 getPrototypeOf()
// 参数：目标对象
// let obj={
//   name:"zhangsan"
// };
// console.log(Object.getPrototypeOf(obj));
// console.log(obj.__proto__);
// console.log(obj.constructor.prototype);
// 4.设置原型对象 setPrototypeOf();
// 参数 ：目标对象 设置的新原型对象
// let obj1={
//   gender:'男',
//   age:15
// };
// Object.setPrototypeOf(obj,obj1);
// console.log(obj.__proto__);//-->obj1
// console.log(Object.getPrototypeOf(obj));
// 5.keys() 获取属性名组成的数组 参数:目标对象
// 6.values() 获取属性值组成的数组 参数:目标对象
// entries() 获取键值对(属性名和属性值)组成的数组 参数:目标对象
let obj={
  name:"zhangsan",
  age:12,
  gender:'男'
};
console.log(Object.keys(obj),'返回属性名组成的数组');
console.log(Object.values(obj),'返回属性值组成的数组');
console.log(Object.entries(obj),'返回键值对组成的数组');